<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // var cat = {
        //     name:'cat',
        //     color:'black',
        //     eat:function(food){
        //         console.log("它吃"+food);
        //     }
        // }
        // // console.log(cat);
        // var mak = cat;
        // mak.name = "mak";
        // // console.log(cat);
        // var lod = new Object(cat);
        // lod.name = "lod";
        // // console.log(cat);
        // var book = {
        //     name: 'HTML',
        //     price: 59.99,
        //     autor: ['kevin', 'mark', 'jerry'],
        //     date: '2022-09-27',
        //     city: '广州'
        // };
        // var copyBook = {};
        // for (var key in book) {
        //     if(typeof book[key] === "object"){
        //         copyBook[key] = [...book[key]];
        //         continue;
        //     }
        //     copyBook[key] = book[key];
        // }
        // console.log(copyBook);
        // console.log(typeof copyBook.autor === "object");
        // console.log(...copyBook.autor);
        // var more = [...copyBook.autor];
        // console.log(more);
        // more[2]='111';
        // console.log(copyBook.autor);
        // console.log(typeof []);

        // var shopcart = [
        //     {
        //         pname: '黑布林',
        //         price: 10,
        //         count: 2,
        //         isBuy: true
        //     },
        //     {
        //         pname: '刺客',
        //         price: 18,
        //         count: 4,
        //         isBuy: true
        //     },
        //     {
        //         pname: '大白兔糖果',
        //         price: 20,
        //         count: 3,
        //         isBuy: false
        //     },
        //     {
        //         pname: 'iphone14promax',
        //         price: 1,
        //         count: 1,
        //         isBuy: false
        //     },
        //     {
        //         pname: '卫龙辣条',
        //         price: 5,
        //         count: 5,
        //         isBuy: true
        //     }
        // ];
        // var all = 0;
        // for(var i = 0;i<shopcart.length;i++){
        //     if(shopcart[i].isBuy){
        //         all+=(shopcart[i].price*shopcart[i].count);
        //     }
        // }
        // console.log(all);
        // all = 0;
        // function allPrice(all,shopcart,n){
        //     if(!n) var n=0;
        //     if(n>=shopcart.length) return all;
        //     if(shopcart[n].isBuy) all+=(shopcart[n].price*shopcart[n].count);
        //     return allPrice(all,shopcart,++n);
        // }
        // console.log(allPrice(all,shopcart));

        var book = {
            name: 'HTML',
            price: 59.99,
            autor: ['kevin', 'mark', 'jerry'],
            date: '2022-09-27',
            city: '广州',
            about: {
                context: '小白兔的详细食谱',
                autor: 'Edith',
                menu: ['红烧兔子', '清蒸', '火锅'],
                eat: function (flood) {
                    console.log("它吃" + flood);
                }
            }
        };
        function callDeepCopy(mask, target) {
            for (var key in target) {
                // console.log(Object.prototype.toString.call(target[key]));
                var check = Object.prototype.toString.call(target[key]);
                if (check === "[object Object]" || check === "[object Array]") {
                    mask[key] = check === "[object Object]" ? {} : [];
                    callDeepCopy(mask[key], target[key]);
                    continue;
                }
                mask[key] = target[key];
            }
            return mask;
        }
        var mask = {};
        console.log(callDeepCopy(mask, book));
        // mask.about.menu[2] = "111";
        // mask.about.eat = function (flood) {
        //     console.log("本能更改，它不吃" + flood);
        // }
        // console.log(book,mask);
        // console.log(book.about.eat("草"));
        // console.log(mask.about.eat("草"));
        // var ma = {
        //     name : "ma",
        //     test : function (){
        //         var call=this;
        //         console.log(this);
        //     }
        // }
    </script>
    <!-- <script>
        setTimeout(function () {
            console.log(111);
        }, 1000)  //一秒钟打印出111

        setInterval(function () {
            console.log(111);
        }, 1000)  //每隔一秒钟打印出111
    </script> -->
</body>

</html>